package com.ruicar.afs.cloud.common.modules.dto.mq.approve;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @description: 在这里添加方法的注释
 * @author jiaqi.guo
 * @created 2020/10/14 14:02
 * @version 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CaseCarStyleDetailDto implements Serializable {

    /**
     * 车辆id
     */
    @JSONField(name = "carId")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long carId;
    /**
     * 排放标准
     */
    @JSONField(name = "emissionStandard")
    private String emissionStandard;
    /**
     * 排量（L）
     */
    @JSONField(name = "displacement")
    private String displacement;
    /**
     * 最大马力
     */
    @JSONField(name = "maxPower")
    private BigDecimal maxPower;
    /**
     * 燃料种类
     */
    @JSONField(name = "fuelType")
    private String fuelType;
    /**
     * 类型
     */
    @JSONField(name = "type")
    private String type;
    /**
     * 车身宽度（米）
     */
    @JSONField(name = "carWidth")
    private BigDecimal carWidth;
    /**
     * 车身长度（米）
     */
    @JSONField(name = "carLength")
    private BigDecimal carLength;
    /**
     * 车身高度（米）
     */
    @JSONField(name = "carHeight")
    private BigDecimal carHeight;
    /**
     * 轴距（mm）
     */
    @JSONField(name = "wheelbase")
    private BigDecimal wheelbase;
    /**
     * 额定载重（吨）
     */
    @JSONField(name = "ratedLoad")
    private BigDecimal ratedLoad;
    /**
     * 驱动形式
     */
    @JSONField(name = "driveForm")
    private String driveForm;
    /**
     * 货箱宽度（米）
     */
    @JSONField(name = "boxWidth")
    private BigDecimal boxWidth;
    /**
     * 货箱长度（米）
     */
    @JSONField(name = "boxLength")
    private BigDecimal boxLength;
    /**
     * 货箱高度（米）
     */
    @JSONField(name = "boxHeight")
    private BigDecimal boxHeight;
    /**
     * 货箱形式
     */
    @JSONField(name = "boxForm")
    private String boxForm;
    /**
     * 轮胎数
     */
    @JSONField(name = "tireNumber")
    private Integer tireNumber;
    /**
     * 准乘人数
     */
    @JSONField(name = "passengers")
    private Integer passengers;
    /**
     * 座位排数
     */
    @JSONField(name = "seatRows")
    private Integer seatRows;
    /**
     * 发动机
     */
    @JSONField(name = "engine")
    private String engine;
    /**
     * 发动机形式
     */
    @JSONField(name = "engineForm")
    private String engineForm;
    /**
     * 最大输出功率（kW）
     */
    @JSONField(name = "maxOutPower")
    private BigDecimal maxOutPower;
    /**
     * 倒挡数
     */
    @JSONField(name = "reverseGearNumber")
    private Integer reverseGearNumber;
    /**
     * 前进挡位数
     */
    @JSONField(name = "forwardGearNumber")
    private Integer forwardGearNumber;
    /**
     * 换挡方式
     */
    @JSONField(name = "shiftMethod")
    private String shiftMethod;
    /**
     * 产地
     */
    @JSONField(name = "origin")
    private String origin;
    /**
     * 前轮距
     */
    @JSONField(name = "frontTrack")
    private BigDecimal frontTrack;
    /**
     * 后轮距
     */
    @JSONField(name = "rearTrack")
    private BigDecimal rearTrack;
    /**
     * 吨位级别
     */
    @JSONField(name = "tonnageClass")
    private String tonnageClass;
    /**
     * 总质量（吨）
     */
    @JSONField(name = "totalQuality")
    private BigDecimal totalQuality;
    /**
     * 整车质量（吨）
     */
    @JSONField(name = "vehicleQuality")
    private BigDecimal vehicleQuality;
    /**
     * 最高车速（km/h）
     */
    @JSONField(name = "maxSpeed")
    private BigDecimal maxSpeed;
    /**
     * 生产厂家
     */
    @JSONField(name = "manufacturer")
    private String manufacturer;
    /**
     * 三方评估价格
     */
    @JSONField(name = "tripartEvaluatePrice")
    private BigDecimal tripartEvaluatePrice;
    /**
     * 新能源标识
     */
    @JSONField(name = "isGreen")
    private String isGreen;
    /**
     * 资产主类
     */
    @JSONField(name = "carType")
    private String carType;
    /**
     * 资产子类
     */
    @JSONField(name = "carTypeDetail")
    private String carTypeDetail;

    /**
     * 车架预警用的，由车300返回
     */
    @JSONField(name = "carModelId")
    private String carModelId;
}
